package ar.com.indra.service.impl;

import java.util.List;

import ar.com.indra.beans.DetalleFormularioDTO;
import ar.com.indra.beans.EncuestaDTO;
import ar.com.indra.beans.EncuestaUsuarioDTO;
import ar.com.indra.beans.FormularioUsuarioDTO;
import ar.com.indra.beans.RespuestaDTO;
import ar.com.indra.beans.UsuarioDTO;
import ar.com.indra.dao.UsuarioDAO;
import ar.com.indra.service.DetalleFormularioService;
import ar.com.indra.service.EncuestaService;
import ar.com.indra.service.EncuestaUsuarioService;
import ar.com.indra.service.FormularioUsuarioService;
import ar.com.indra.service.RespuestaService;
import ar.com.indra.service.UsuarioService;

public class UsuarioServiceImpl implements UsuarioService{

	private UsuarioDAO usuarioDao;
	private  FormularioUsuarioService formularioUsuarioService;
	private  EncuestaService encuestaService;

	private DetalleFormularioService detalleFormularioService;

	private RespuestaService respuestaService;
	private EncuestaUsuarioService encuestaUsuarioService;

	

	public RespuestaService getRespuestaService() {
		return respuestaService;
	}

	public EncuestaUsuarioService getEncuestaUsuarioService() {
		return encuestaUsuarioService;
	}

	public void setEncuestaUsuarioService(
			EncuestaUsuarioService encuestaUsuarioService) {
		this.encuestaUsuarioService = encuestaUsuarioService;
	}

	public void setRespuestaService(RespuestaService respuestaService) {
		this.respuestaService = respuestaService;
	}

	public EncuestaService getEncuestaService() {
		return encuestaService;
	}

	public void setEncuestaService(EncuestaService encuestaService) {
		this.encuestaService = encuestaService;
	}


	public FormularioUsuarioService getFormularioUsuarioService() {
		
		return formularioUsuarioService;
	}

	public void setFormularioUsuarioService(FormularioUsuarioService formularioUsuarioService) {
		this.formularioUsuarioService = formularioUsuarioService;
	}

	public UsuarioDAO getUsuarioDao() {
		return usuarioDao;
	}

	public void setUsuarioDao(UsuarioDAO usuarioDao) {
		this.usuarioDao = usuarioDao;
	}

	
	@Override
	public UsuarioDTO getUsuarioById(Integer idUser) throws Exception {
		return this.usuarioDao.getUsuarioById(idUser);
	}
	
	
	@Override
	public List<FormularioUsuarioDTO> findFormulariosByUsuario(int id_usuario,int id_encuesta) throws Exception {

		return formularioUsuarioService.findFormulariosByUsuario(id_usuario, id_encuesta);
	}

	public EncuestaDTO findEncuestaActiva() throws Exception {

		return encuestaService.findEncuestaActiva();
	}

	@Override
	public List<DetalleFormularioDTO> findDetalleFormulario(int id_usuario,	int id_encuesta, int id_formulario) {

		return detalleFormularioService.findDetalleFormulario(id_usuario, id_encuesta, id_formulario);
	}

	public DetalleFormularioService getDetalleFormularioService() {
		return detalleFormularioService;
	}

	public void setDetalleFormularioService(
			DetalleFormularioService detalleFormularioService) {
		this.detalleFormularioService = detalleFormularioService;
	}
	
	public int updateMasivoRespuestas(RespuestaDTO respuestaDto)
			throws Exception {
		
		return respuestaService.updatePosicionRta(respuestaDto);		
	}

	@Override
	public int updateEncuestaEstado(EncuestaUsuarioDTO u) throws Exception {		
		return encuestaUsuarioService.updateEstado(u);
	}
	
	
	public int updateFormularioEstado(FormularioUsuarioDTO f)throws Exception{
		return formularioUsuarioService.updateEstado(f);
	}
}
